package sort;


/**
 * @author lakersUp
 * @Classname
 * @Description
 * @Date 2022/2/27 9:48
 * @Version 1.0
 */
public class MergeSort {
    public int[] mergeSort(int[] nums){
//        if(nums==null || nums.length==0){
//            return new int[]{};
//        }
//        sort(nums,0,nums.length-1,new int[nums.length]);
        return nums;
//    }
//
//    private void sort(int[] nums, int left, int right, int[] tmp) {
//        if(left<right){
//            int mid=(left+right)/2;
//            sort(nums, left, mid, tmp);
//            sort(nums, mid+1, right, tmp);
//            merge(nums,left,mid,right,tmp);
//        }
//    }
//
//    private void merge(int[] nums, int left, int mid,int right, int[] tmp) {
//        int i=left;
//        int j=mid+1;
//        int k=0;
//        // 拼接
//        while(i<=mid && j<=right){
//            if(nums[i]<=nums[j]){
//                tmp[k++]=nums[i];
//            }else {
//                tmp[k++]=nums[j];
//            }
//        }
//        while(i<=mid){
//            tmp[k++]=nums[i++];
//        }
//        while (j<=right){
//            tmp[k++]=nums[j+=];
//        }
//        k=0;
//        while(left<=right){
//            nums[left++]=tmp[k++];
//        }
    }
}
